
function Printer (io_obj) {
	/** PRIVATE */
	this._io = null;

	/** PUBLIC */
	this._constructor = function printer__constructor (io_obj){
		this._io = io_obj;
	}

	this.setIO = function printer_setIO (io_obj) {
		this._io = io_obj;
	}

	this.getIO = function printer_getIO () {
		return this._io;
	}

	this.print = function printer_print (str) {
		if (this._io){
			this._io.print (str);
		} else {
			alert (str);
		}
	}

	/** CONSTRUCT !*/
	this._constructor (io_obj);
}
